home *** CD-ROM | disk | FTP | other *** search
- #ifdef AMIGA
- #include <Exec/Types.h>
- #else
- typedef long int LONG;
- typedef unsigned char UBYTE;
- typedef unsigned short UWORD;
- typedef char BYTE;
- typedef short WORD;
- #endif
-
- typedef LONG FRACT;
- typedef UBYTE COLOR[3];
-
- typedef struct vectors {
- FRACT X;
- FRACT Y;
- FRACT Z;
- } VECTOR;
-
- typedef struct matrices {
- VECTOR I;
- VECTOR J;
- VECTOR K;
- } MATRIX;
-
- typedef struct story {
- UBYTE Path[18];
- VECTOR Translate;
- VECTOR Rotate;
- VECTOR Scale;
- UWORD info;
- } STORY;
-
- #define ABS_TRA 0x0001
- #define ABS_ROT 0x0002
- #define ABS_SCL 0x0004
- #define LOC_TRA 0x0010
- #define LOC_ROT 0x0020
- #define LOC_SCL 0x0040
- #define X_ALIGN 0x0100
- #define Y_ALIGN 0x0200
- #define Z_ALIGN 0x0400
- #define FOLLOW_ME 0x1000
-
-
- typedef struct {
- WORD Number;
- BYTE Filename[80];
- } BRSH;
-
- typedef BRSH STNC;
-
- typedef BRSH TXTR;
-
- typedef struct {
- VECTOR Camera;
- VECTOR Rotate;
- FRACT Focal;
- } OBSV;
-
- typedef struct {
- BYTE Trackname[18];
- } OTRK;
-
- typedef struct {
- STORY CStory;
- } OSTR;
-
- typedef struct {
- FRACT FadeAt;
- FRACT FadeBy;
- BYTE pad;
- COLOR FadeTo;
- } FADE;
-
- typedef struct {
- BYTE pad;
- COLOR Horizon;
- BYTE pad2;
- COLOR Zenith;
- } SKYC;
-
- typedef struct {
- BYTE pad;
- COLOR Ambient;
- } AMBI;
-
- typedef struct {
- BYTE Props[8];
- } GLB0;
-
- #define GLB_EDGING 0
- #define GLB_PERTURB 1
- #define GLB_SKY_BLEND 2
- #define GLB_LENS 3
- #define GLB_FADE 4
- #define GLB_SIZE 5
- #define GLB_RESOLVE 6
- #define GLB_EXTRA 7
-
- typedef struct {
- BYTE Name[18];
- } NAME;
-
- typedef struct {
- WORD Shape;
- WORD Lamp;
- } SHAP;
-
- #define LMP_NOTALAMP 0
- #define LMP_SUN 1
- #define LMP_LAMP 2
-
- #define SHP_SPHERE 0
- #define SHP_STENCIL 1
- #define SHP_AXIS 2
- #define SHP_FACETS 3
- #define SHP_SURFACE 4
- #define SHP_GROUND 5
-
- typedef struct {
- VECTOR Position;
- } POSI;
-
- typedef struct {
- VECTOR XAxis;
- VECTOR YAxis;
- VECTOR ZAxis;
- } AXIS;
-
- typedef struct {
- VECTOR Size;
- } SIZE;
-
- typedef struct {
- UWORD PCount;
- VECTOR Points[1];
- } PNTS;
-
- typedef struct {
- UWORD ECount;
- UWORD Edges[1][2];
- } EDGE;
-
- typedef struct {
- UWORD TCount;
- UWORD Connects[1][3];
- } FACE;
-
- typedef struct {
- BYTE pad;
- COLOR col;
- } COLR, REFL, TRAN, SPC1;
-
- typedef struct {
- UWORD count;
- COLOR colors[1];
- } CLST, RLST, TLST;
-
- typedef struct {
- FRACT Params[16];
- } TPAR;
-
- typedef struct {
- BYTE SProps[5];
- } SURF;
-
- #define PRP_SURFACE 0
- #define PRP_BRUSH 1
- #define PRP_WRAP 2
- #define PRP_STENCIL 3
- #define PRP_TEXTURE 4
-
- typedef struct {
- UBYTE Type;
- UBYTE Index;
- } MTTR;
-
- #define RFR_AIR 0
- #define RFR_WATER 1
- #define RFR_GLASS 2
- #define RFR_CRYSTAL 3
- #define RFR_CUSTOM 4
-
- #define VAL_AIR 1.00
- #define VAL_WATER 1.33
- #define VAL_GLASS 1.67
- #define VAL_CRYSTAL 2.00
-
- #define VAL_CUSTOM(v) (((v)/100.0)+1.0)
-
- typedef struct {
- UBYTE Specularity;
- UBYTE Hardness;
- } SPEC;
-
- typedef struct {
- UBYTE Props[6];
- } PRP0;
-
- #define PRP_BLEND 0
- #define PRP_SMOOTH 1
- #define PRP_SHADE 2
- #define PRP_PHONG 3
- #define PRP_GLOSSY 4
- #define PRP_QUICK 5
-
- typedef struct {
- UBYTE Props[8];
- } PRP1;
-
- #define PRP1_DITHER 0
- #define PRP1_HARD 1
- #define PRP1_ROUGH 2
- #define PRP1_SHINY 3
- #define PRP1_INDEX 4
- #define PRP1_QUICK 5
- #define PRP1_PHONG 6
- #define PRP1_GENLOCK 7
-
- typedef struct {
- FRACT Intensity;
- } INTS;
-
- typedef struct {
- STORY Story;
- } STRY;
-
- typedef struct {
- VECTOR Translate;
- VECTOR Scale;
- MATRIX Rotate;
- } MTRX;
-
- typedef struct {
- BYTE Filename[80];
- } LOAD;
-